from OpenGL.GL import *
try:
    from OpenGL.GL.ARB.ES2_compatibility import *
    glInitEs2CompatibilityARB()
except:
    print("Fail - OpenGL.GL.ARB.ES2_compatibility")
try:
    from OpenGL.GL.ARB.ES3_compatibility import *
    glInitEs3CompatibilityARB()
except:
    print("Fail - OpenGL.GL.ARB.ES3_compatibility")
try:
    from OpenGL.GL.ARB.arrays_of_arrays import *
    glInitArraysOfArraysARB()
except:
    print("Fail - OpenGL.GL.ARB.arrays_of_arrays")
try:
    from OpenGL.GL.ARB.base_instance import *
    glInitBaseInstanceARB()
except:
    print("Fail - OpenGL.GL.ARB.base_instance")
try:
    from OpenGL.GL.ARB.blend_func_extended import *
    glInitBlendFuncExtendedARB()
except:
    print("Fail - OpenGL.GL.ARB.blend_func_extended")
try:
    from OpenGL.GL.ARB.clear_buffer_object import *
    glInitClearBufferObjectARB()
except:
    print("Fail - OpenGL.GL.ARB.clear_buffer_object")
try:
    from OpenGL.GL.ARB.color_buffer_float import *
    glInitColorBufferFloatARB()
except:
    print("Fail - OpenGL.GL.ARB.color_buffer_float")
try:
    from OpenGL.GL.ARB.compatibility import *
    glInitCompatibilityARB()
except:
    print("Fail - OpenGL.GL.ARB.compatibility")
try:
    from OpenGL.GL.ARB.compressed_texture_pixel_storage import *
    glInitCompressedTexturePixelStorageARB()
except:
    print("Fail - OpenGL.GL.ARB.compressed_texture_pixel_storage")
try:
    from OpenGL.GL.ARB.conservative_depth import *
    glInitConservativeDepthARB()
except:
    print("Fail - OpenGL.GL.ARB.conservative_depth")
try:
    from OpenGL.GL.ARB.copy_buffer import *
    glInitCopyBufferARB()
except:
    print("Fail - OpenGL.GL.ARB.copy_buffer")
try:
    from OpenGL.GL.ARB.copy_image import *
    glInitCopyImageARB()
except:
    print("Fail - OpenGL.GL.ARB.copy_image")
try:
    from OpenGL.GL.ARB.debug_output import *
    glInitDebugOutputARB()
except:
    print("Fail - OpenGL.GL.ARB.debug_output")
try:
    from OpenGL.GL.ARB.depth_buffer_float import *
    glInitDepthBufferFloatARB()
except:
    print("Fail - OpenGL.GL.ARB.depth_buffer_float")
try:
    from OpenGL.GL.ARB.depth_clamp import *
    glInitDepthClampARB()
except:
    print("Fail - OpenGL.GL.ARB.depth_clamp")
try:
    from OpenGL.GL.ARB.depth_texture import *
    glInitDepthTextureARB()
except:
    print("Fail - OpenGL.GL.ARB.depth_texture")
try:
    from OpenGL.GL.ARB.draw_buffers import *
    glInitDrawBuffersARB()
except:
    print("Fail - OpenGL.GL.ARB.draw_buffers")
try:
    from OpenGL.GL.ARB.draw_elements_base_vertex import *
    glInitDrawElementsBaseVertexARB()
except:
    print("Fail - OpenGL.GL.ARB.draw_elements_base_vertex")
try:
    from OpenGL.GL.ARB.draw_instanced import *
    glInitDrawInstancedARB()
except:
    print("Fail - OpenGL.GL.ARB.draw_instanced")
try:
    from OpenGL.GL.ARB.enhanced_layouts import *
    glInitEnhancedLayoutsARB()
except:
    print("Fail - OpenGL.GL.ARB.enhanced_layouts")
try:
    from OpenGL.GL.ARB.explicit_attrib_location import *
    glInitExplicitAttribLocationARB()
except:
    print("Fail - OpenGL.GL.ARB.explicit_attrib_location")
try:
    from OpenGL.GL.ARB.explicit_uniform_location import *
    glInitExplicitUniformLocationARB()
except:
    print("Fail - OpenGL.GL.ARB.explicit_uniform_location")
try:
    from OpenGL.GL.ARB.fragment_coord_conventions import *
    glInitFragmentCoordConventionsARB()
except:
    print("Fail - OpenGL.GL.ARB.fragment_coord_conventions")
try:
    from OpenGL.GL.ARB.fragment_layer_viewport import *
    glInitFragmentLayerViewportARB()
except:
    print("Fail - OpenGL.GL.ARB.fragment_layer_viewport")
try:
    from OpenGL.GL.ARB.fragment_program import *
    glInitFragmentProgramARB()
except:
    print("Fail - OpenGL.GL.ARB.fragment_program")
try:
    from OpenGL.GL.ARB.fragment_program_shadow import *
    glInitFragmentProgramShadowARB()
except:
    print("Fail - OpenGL.GL.ARB.fragment_program_shadow")
try:
    from OpenGL.GL.ARB.fragment_shader import *
    glInitFragmentShaderARB()
except:
    print("Fail - OpenGL.GL.ARB.fragment_shader")
try:
    from OpenGL.GL.ARB.framebuffer_no_attachments import *
    glInitFramebufferNoAttachmentsARB()
except:
    print("Fail - OpenGL.GL.ARB.framebuffer_no_attachments")
try:
    from OpenGL.GL.ARB.framebuffer_object import *
    glInitFramebufferObjectARB()
except:
    print("Fail - OpenGL.GL.ARB.framebuffer_object")
try:
    from OpenGL.GL.ARB.framebuffer_sRGB import *
    glInitFramebufferSrgbARB()
except:
    print("Fail - OpenGL.GL.ARB.framebuffer_sRGB")
try:
    from OpenGL.GL.ARB.geometry_shader4 import *
    glInitGeometryShader4ARB()
except:
    print("Fail - OpenGL.GL.ARB.geometry_shader4")
try:
    from OpenGL.GL.ARB.get_program_binary import *
    glInitGetProgramBinaryARB()
except:
    print("Fail - OpenGL.GL.ARB.get_program_binary")
try:
    from OpenGL.GL.ARB.half_float_pixel import *
    glInitHalfFloatPixelARB()
except:
    print("Fail - OpenGL.GL.ARB.half_float_pixel")
try:
    from OpenGL.GL.ARB.half_float_vertex import *
    glInitHalfFloatVertexARB()
except:
    print("Fail - OpenGL.GL.ARB.half_float_vertex")
try:
    from OpenGL.GL.ARB.imaging import *
    glInitImagingARB()
except:
    print("Fail - OpenGL.GL.ARB.imaging")
try:
    from OpenGL.GL.ARB.instanced_arrays import *
    glInitInstancedArraysARB()
except:
    print("Fail - OpenGL.GL.ARB.instanced_arrays")
try:
    from OpenGL.GL.ARB.internalformat_query import *
    glInitInternalformatQueryARB()
except:
    print("Fail - OpenGL.GL.ARB.internalformat_query")
try:
    from OpenGL.GL.ARB.internalformat_query2 import *
    glInitInternalformatQuery2ARB()
except:
    print("Fail - OpenGL.GL.ARB.internalformat_query2")
try:
    from OpenGL.GL.ARB.invalidate_subdata import *
    glInitInvalidateSubdataARB()
except:
    print("Fail - OpenGL.GL.ARB.invalidate_subdata")
try:
    from OpenGL.GL.ARB.map_buffer_alignment import *
    glInitMapBufferAlignmentARB()
except:
    print("Fail - OpenGL.GL.ARB.map_buffer_alignment")
try:
    from OpenGL.GL.ARB.map_buffer_range import *
    glInitMapBufferRangeARB()
except:
    print("Fail - OpenGL.GL.ARB.map_buffer_range")
try:
    from OpenGL.GL.ARB.multi_bind import *
    glInitMultiBindARB()
except:
    print("Fail - OpenGL.GL.ARB.multi_bind")
try:
    from OpenGL.GL.ARB.multisample import *
    glInitMultisampleARB()
except:
    print("Fail - OpenGL.GL.ARB.multisample")
try:
    from OpenGL.GL.ARB.multitexture import *
    glInitMultitextureARB()
except:
    print("Fail - OpenGL.GL.ARB.multitexture")
try:
    from OpenGL.GL.ARB.occlusion_query import *
    glInitOcclusionQueryARB()
except:
    print("Fail - OpenGL.GL.ARB.occlusion_query")
try:
    from OpenGL.GL.ARB.occlusion_query2 import *
    glInitOcclusionQuery2ARB()
except:
    print("Fail - OpenGL.GL.ARB.occlusion_query2")
try:
    from OpenGL.GL.ARB.pixel_buffer_object import *
    glInitPixelBufferObjectARB()
except:
    print("Fail - OpenGL.GL.ARB.pixel_buffer_object")
try:
    from OpenGL.GL.ARB.point_parameters import *
    glInitPointParametersARB()
except:
    print("Fail - OpenGL.GL.ARB.point_parameters")
try:
    from OpenGL.GL.ARB.point_sprite import *
    glInitPointSpriteARB()
except:
    print("Fail - OpenGL.GL.ARB.point_sprite")
try:
    from OpenGL.GL.ARB.program_interface_query import *
    glInitProgramInterfaceQueryARB()
except:
    print("Fail - OpenGL.GL.ARB.program_interface_query")
try:
    from OpenGL.GL.ARB.provoking_vertex import *
    glInitProvokingVertexARB()
except:
    print("Fail - OpenGL.GL.ARB.provoking_vertex")
try:
    from OpenGL.GL.ARB.robust_buffer_access_behavior import *
    glInitRobustBufferAccessBehaviorARB()
except:
    print("Fail - OpenGL.GL.ARB.robust_buffer_access_behavior")
try:
    from OpenGL.GL.ARB.robustness import *
    glInitRobustnessARB()
except:
    print("Fail - OpenGL.GL.ARB.robustness")
try:
    from OpenGL.GL.ARB.sampler_objects import *
    glInitSamplerObjectsARB()
except:
    print("Fail - OpenGL.GL.ARB.sampler_objects")
try:
    from OpenGL.GL.ARB.seamless_cube_map import *
    glInitSeamlessCubeMapARB()
except:
    print("Fail - OpenGL.GL.ARB.seamless_cube_map")
try:
    from OpenGL.GL.ARB.separate_shader_objects import *
    glInitSeparateShaderObjectsARB()
except:
    print("Fail - OpenGL.GL.ARB.separate_shader_objects")
try:
    from OpenGL.GL.ARB.shader_bit_encoding import *
    glInitShaderBitEncodingARB()
except:
    print("Fail - OpenGL.GL.ARB.shader_bit_encoding")
try:
    from OpenGL.GL.ARB.shader_objects import *
    glInitShaderObjectsARB()
except:
    print("Fail - OpenGL.GL.ARB.shader_objects")
try:
    from OpenGL.GL.ARB.shader_texture_lod import *
    glInitShaderTextureLodARB()
except:
    print("Fail - OpenGL.GL.ARB.shader_texture_lod")
try:
    from OpenGL.GL.ARB.shading_language_100 import *
    glInitShadingLanguage100ARB()
except:
    print("Fail - OpenGL.GL.ARB.shading_language_100")
try:
    from OpenGL.GL.ARB.shading_language_420pack import *
    glInitShadingLanguage420PackARB()
except:
    print("Fail - OpenGL.GL.ARB.shading_language_420pack")
try:
    from OpenGL.GL.ARB.shading_language_include import *
    glInitShadingLanguageIncludeARB()
except:
    print("Fail - OpenGL.GL.ARB.shading_language_include")
try:
    from OpenGL.GL.ARB.shading_language_packing import *
    glInitShadingLanguagePackingARB()
except:
    print("Fail - OpenGL.GL.ARB.shading_language_packing")
try:
    from OpenGL.GL.ARB.shadow import *
    glInitShadowARB()
except:
    print("Fail - OpenGL.GL.ARB.shadow")
try:
    from OpenGL.GL.ARB.stencil_texturing import *
    glInitStencilTexturingARB()
except:
    print("Fail - OpenGL.GL.ARB.stencil_texturing")
try:
    from OpenGL.GL.ARB.sync import *
    glInitSyncARB()
except:
    print("Fail - OpenGL.GL.ARB.sync")
try:
    from OpenGL.GL.ARB.texture_border_clamp import *
    glInitTextureBorderClampARB()
except:
    print("Fail - OpenGL.GL.ARB.texture_border_clamp")
try:
    from OpenGL.GL.ARB.texture_buffer_object import *
    glInitTextureBufferObjectARB()
except:
    print("Fail - OpenGL.GL.ARB.texture_buffer_object")
try:
    from OpenGL.GL.ARB.texture_buffer_range import *
    glInitTextureBufferRangeARB()
except:
    print("Fail - OpenGL.GL.ARB.texture_buffer_range")
try:
    from OpenGL.GL.ARB.texture_compression import *
    glInitTextureCompressionARB()
except:
    print("Fail - OpenGL.GL.ARB.texture_compression")
try:
    from OpenGL.GL.ARB.texture_compression_rgtc import *
    glInitTextureCompressionRgtcARB()
except:
    print("Fail - OpenGL.GL.ARB.texture_compression_rgtc")
try:
    from OpenGL.GL.ARB.texture_cube_map import *
    glInitTextureCubeMapARB()
except:
    print("Fail - OpenGL.GL.ARB.texture_cube_map")
try:
    from OpenGL.GL.ARB.texture_env_add import *
    glInitTextureEnvAddARB()
except:
    print("Fail - OpenGL.GL.ARB.texture_env_add")
try:
    from OpenGL.GL.ARB.texture_env_combine import *
    glInitTextureEnvCombineARB()
except:
    print("Fail - OpenGL.GL.ARB.texture_env_combine")
try:
    from OpenGL.GL.ARB.texture_env_crossbar import *
    glInitTextureEnvCrossbarARB()
except:
    print("Fail - OpenGL.GL.ARB.texture_env_crossbar")
try:
    from OpenGL.GL.ARB.texture_env_dot3 import *
    glInitTextureEnvDot3ARB()
except:
    print("Fail - OpenGL.GL.ARB.texture_env_dot3")
try:
    from OpenGL.GL.ARB.texture_float import *
    glInitTextureFloatARB()
except:
    print("Fail - OpenGL.GL.ARB.texture_float")
try:
    from OpenGL.GL.ARB.texture_mirror_clamp_to_edge import *
    glInitTextureMirrorClampToEdgeARB()
except:
    print("Fail - OpenGL.GL.ARB.texture_mirror_clamp_to_edge")
try:
    from OpenGL.GL.ARB.texture_mirrored_repeat import *
    glInitTextureMirroredRepeatARB()
except:
    print("Fail - OpenGL.GL.ARB.texture_mirrored_repeat")
try:
    from OpenGL.GL.ARB.texture_multisample import *
    glInitTextureMultisampleARB()
except:
    print("Fail - OpenGL.GL.ARB.texture_multisample")
try:
    from OpenGL.GL.ARB.texture_non_power_of_two import *
    glInitTextureNonPowerOfTwoARB()
except:
    print("Fail - OpenGL.GL.ARB.texture_non_power_of_two")
try:
    from OpenGL.GL.ARB.texture_query_levels import *
    glInitTextureQueryLevelsARB()
except:
    print("Fail - OpenGL.GL.ARB.texture_query_levels")
try:
    from OpenGL.GL.ARB.texture_rectangle import *
    glInitTextureRectangleARB()
except:
    print("Fail - OpenGL.GL.ARB.texture_rectangle")
try:
    from OpenGL.GL.ARB.texture_rg import *
    glInitTextureRgARB()
except:
    print("Fail - OpenGL.GL.ARB.texture_rg")
try:
    from OpenGL.GL.ARB.texture_rgb10_a2ui import *
    glInitTextureRgb10A2UiARB()
except:
    print("Fail - OpenGL.GL.ARB.texture_rgb10_a2ui")
try:
    from OpenGL.GL.ARB.texture_stencil8 import *
    glInitTextureStencil8ARB()
except:
    print("Fail - OpenGL.GL.ARB.texture_stencil8")
try:
    from OpenGL.GL.ARB.texture_storage import *
    glInitTextureStorageARB()
except:
    print("Fail - OpenGL.GL.ARB.texture_storage")
try:
    from OpenGL.GL.ARB.texture_storage_multisample import *
    glInitTextureStorageMultisampleARB()
except:
    print("Fail - OpenGL.GL.ARB.texture_storage_multisample")
try:
    from OpenGL.GL.ARB.texture_swizzle import *
    glInitTextureSwizzleARB()
except:
    print("Fail - OpenGL.GL.ARB.texture_swizzle")
try:
    from OpenGL.GL.ARB.texture_view import *
    glInitTextureViewARB()
except:
    print("Fail - OpenGL.GL.ARB.texture_view")
try:
    from OpenGL.GL.ARB.timer_query import *
    glInitTimerQueryARB()
except:
    print("Fail - OpenGL.GL.ARB.timer_query")
try:
    from OpenGL.GL.ARB.transpose_matrix import *
    glInitTransposeMatrixARB()
except:
    print("Fail - OpenGL.GL.ARB.transpose_matrix")
try:
    from OpenGL.GL.ARB.uniform_buffer_object import *
    glInitUniformBufferObjectARB()
except:
    print("Fail - OpenGL.GL.ARB.uniform_buffer_object")
try:
    from OpenGL.GL.ARB.vertex_array_bgra import *
    glInitVertexArrayBgraARB()
except:
    print("Fail - OpenGL.GL.ARB.vertex_array_bgra")
try:
    from OpenGL.GL.ARB.vertex_array_object import *
    glInitVertexArrayObjectARB()
except:
    print("Fail - OpenGL.GL.ARB.vertex_array_object")
try:
    from OpenGL.GL.ARB.vertex_attrib_binding import *
    glInitVertexAttribBindingARB()
except:
    print("Fail - OpenGL.GL.ARB.vertex_attrib_binding")
try:
    from OpenGL.GL.ARB.vertex_buffer_object import *
    glInitVertexBufferObjectARB()
except:
    print("Fail - OpenGL.GL.ARB.vertex_buffer_object")
try:
    from OpenGL.GL.ARB.vertex_program import *
    glInitVertexProgramARB()
except:
    print("Fail - OpenGL.GL.ARB.vertex_program")
try:
    from OpenGL.GL.ARB.vertex_shader import *
    glInitVertexShaderARB()
except:
    print("Fail - OpenGL.GL.ARB.vertex_shader")
try:
    from OpenGL.GL.ARB.vertex_type_10f_11f_11f_rev import *
    glInitVertexType10F11F11FRevARB()
except:
    print("Fail - OpenGL.GL.ARB.vertex_type_10f_11f_11f_rev")
try:
    from OpenGL.GL.ARB.vertex_type_2_10_10_10_rev import *
    glInitVertexType2101010RevARB()
except:
    print("Fail - OpenGL.GL.ARB.vertex_type_2_10_10_10_rev")
try:
    from OpenGL.GL.ARB.viewport_array import *
    glInitViewportArrayARB()
except:
    print("Fail - OpenGL.GL.ARB.viewport_array")
try:
    from OpenGL.GL.ARB.window_pos import *
    glInitWindowPosARB()
except:
    print("Fail - OpenGL.GL.ARB.window_pos")
try:
    from OpenGL.GL.ATI.draw_buffers import *
    glInitDrawBuffersATI()
except:
    print("Fail - OpenGL.GL.ATI.draw_buffers")
try:
    from OpenGL.GL.ATI.texture_float import *
    glInitTextureFloatATI()
except:
    print("Fail - OpenGL.GL.ATI.texture_float")
try:
    from OpenGL.GL.ATI.texture_mirror_once import *
    glInitTextureMirrorOnceATI()
except:
    print("Fail - OpenGL.GL.ATI.texture_mirror_once")
try:
    from OpenGL.GL.EXT.abgr import *
    glInitAbgrEXT()
except:
    print("Fail - OpenGL.GL.EXT.abgr")
try:
    from OpenGL.GL.EXT.bgra import *
    glInitBgraEXT()
except:
    print("Fail - OpenGL.GL.EXT.bgra")
try:
    from OpenGL.GL.EXT.bindable_uniform import *
    glInitBindableUniformEXT()
except:
    print("Fail - OpenGL.GL.EXT.bindable_uniform")
try:
    from OpenGL.GL.EXT.blend_color import *
    glInitBlendColorEXT()
except:
    print("Fail - OpenGL.GL.EXT.blend_color")
try:
    from OpenGL.GL.EXT.blend_equation_separate import *
    glInitBlendEquationSeparateEXT()
except:
    print("Fail - OpenGL.GL.EXT.blend_equation_separate")
try:
    from OpenGL.GL.EXT.blend_func_separate import *
    glInitBlendFuncSeparateEXT()
except:
    print("Fail - OpenGL.GL.EXT.blend_func_separate")
try:
    from OpenGL.GL.EXT.blend_minmax import *
    glInitBlendMinmaxEXT()
except:
    print("Fail - OpenGL.GL.EXT.blend_minmax")
try:
    from OpenGL.GL.EXT.blend_subtract import *
    glInitBlendSubtractEXT()
except:
    print("Fail - OpenGL.GL.EXT.blend_subtract")
try:
    from OpenGL.GL.EXT.compiled_vertex_array import *
    glInitCompiledVertexArrayEXT()
except:
    print("Fail - OpenGL.GL.EXT.compiled_vertex_array")
try:
    from OpenGL.GL.EXT.depth_bounds_test import *
    glInitDepthBoundsTestEXT()
except:
    print("Fail - OpenGL.GL.EXT.depth_bounds_test")
try:
    from OpenGL.GL.EXT.direct_state_access import *
    glInitDirectStateAccessEXT()
except:
    print("Fail - OpenGL.GL.EXT.direct_state_access")
try:
    from OpenGL.GL.EXT.draw_buffers2 import *
    glInitDrawBuffers2EXT()
except:
    print("Fail - OpenGL.GL.EXT.draw_buffers2")
try:
    from OpenGL.GL.EXT.draw_instanced import *
    glInitDrawInstancedEXT()
except:
    print("Fail - OpenGL.GL.EXT.draw_instanced")
try:
    from OpenGL.GL.EXT.draw_range_elements import *
    glInitDrawRangeElementsEXT()
except:
    print("Fail - OpenGL.GL.EXT.draw_range_elements")
try:
    from OpenGL.GL.EXT.fog_coord import *
    glInitFogCoordEXT()
except:
    print("Fail - OpenGL.GL.EXT.fog_coord")
try:
    from OpenGL.GL.EXT.framebuffer_blit import *
    glInitFramebufferBlitEXT()
except:
    print("Fail - OpenGL.GL.EXT.framebuffer_blit")
try:
    from OpenGL.GL.EXT.framebuffer_multisample import *
    glInitFramebufferMultisampleEXT()
except:
    print("Fail - OpenGL.GL.EXT.framebuffer_multisample")
try:
    from OpenGL.GL.EXT.framebuffer_multisample_blit_scaled import *
    glInitFramebufferMultisampleBlitScaledEXT()
except:
    print("Fail - OpenGL.GL.EXT.framebuffer_multisample_blit_scaled")
try:
    from OpenGL.GL.EXT.framebuffer_object import *
    glInitFramebufferObjectEXT()
except:
    print("Fail - OpenGL.GL.EXT.framebuffer_object")
try:
    from OpenGL.GL.EXT.framebuffer_sRGB import *
    glInitFramebufferSrgbEXT()
except:
    print("Fail - OpenGL.GL.EXT.framebuffer_sRGB")
try:
    from OpenGL.GL.EXT.geometry_shader4 import *
    glInitGeometryShader4EXT()
except:
    print("Fail - OpenGL.GL.EXT.geometry_shader4")
try:
    from OpenGL.GL.EXT.gpu_program_parameters import *
    glInitGpuProgramParametersEXT()
except:
    print("Fail - OpenGL.GL.EXT.gpu_program_parameters")
try:
    from OpenGL.GL.EXT.gpu_shader4 import *
    glInitGpuShader4EXT()
except:
    print("Fail - OpenGL.GL.EXT.gpu_shader4")
try:
    from OpenGL.GL.EXT.multi_draw_arrays import *
    glInitMultiDrawArraysEXT()
except:
    print("Fail - OpenGL.GL.EXT.multi_draw_arrays")
try:
    from OpenGL.GL.EXT.packed_depth_stencil import *
    glInitPackedDepthStencilEXT()
except:
    print("Fail - OpenGL.GL.EXT.packed_depth_stencil")
try:
    from OpenGL.GL.EXT.packed_float import *
    glInitPackedFloatEXT()
except:
    print("Fail - OpenGL.GL.EXT.packed_float")
try:
    from OpenGL.GL.EXT.packed_pixels import *
    glInitPackedPixelsEXT()
except:
    print("Fail - OpenGL.GL.EXT.packed_pixels")
try:
    from OpenGL.GL.EXT.pixel_buffer_object import *
    glInitPixelBufferObjectEXT()
except:
    print("Fail - OpenGL.GL.EXT.pixel_buffer_object")
try:
    from OpenGL.GL.EXT.point_parameters import *
    glInitPointParametersEXT()
except:
    print("Fail - OpenGL.GL.EXT.point_parameters")
try:
    from OpenGL.GL.EXT.provoking_vertex import *
    glInitProvokingVertexEXT()
except:
    print("Fail - OpenGL.GL.EXT.provoking_vertex")
try:
    from OpenGL.GL.EXT.rescale_normal import *
    glInitRescaleNormalEXT()
except:
    print("Fail - OpenGL.GL.EXT.rescale_normal")
try:
    from OpenGL.GL.EXT.secondary_color import *
    glInitSecondaryColorEXT()
except:
    print("Fail - OpenGL.GL.EXT.secondary_color")
try:
    from OpenGL.GL.EXT.separate_shader_objects import *
    glInitSeparateShaderObjectsEXT()
except:
    print("Fail - OpenGL.GL.EXT.separate_shader_objects")
try:
    from OpenGL.GL.EXT.separate_specular_color import *
    glInitSeparateSpecularColorEXT()
except:
    print("Fail - OpenGL.GL.EXT.separate_specular_color")
try:
    from OpenGL.GL.EXT.shadow_funcs import *
    glInitShadowFuncsEXT()
except:
    print("Fail - OpenGL.GL.EXT.shadow_funcs")
try:
    from OpenGL.GL.EXT.stencil_two_side import *
    glInitStencilTwoSideEXT()
except:
    print("Fail - OpenGL.GL.EXT.stencil_two_side")
try:
    from OpenGL.GL.EXT.stencil_wrap import *
    glInitStencilWrapEXT()
except:
    print("Fail - OpenGL.GL.EXT.stencil_wrap")
try:
    from OpenGL.GL.EXT.texture3D import *
    glInitTexture3DEXT()
except:
    print("Fail - OpenGL.GL.EXT.texture3D")
try:
    from OpenGL.GL.EXT.texture_array import *
    glInitTextureArrayEXT()
except:
    print("Fail - OpenGL.GL.EXT.texture_array")
try:
    from OpenGL.GL.EXT.texture_buffer_object import *
    glInitTextureBufferObjectEXT()
except:
    print("Fail - OpenGL.GL.EXT.texture_buffer_object")
try:
    from OpenGL.GL.EXT.texture_compression_latc import *
    glInitTextureCompressionLatcEXT()
except:
    print("Fail - OpenGL.GL.EXT.texture_compression_latc")
try:
    from OpenGL.GL.EXT.texture_compression_rgtc import *
    glInitTextureCompressionRgtcEXT()
except:
    print("Fail - OpenGL.GL.EXT.texture_compression_rgtc")
try:
    from OpenGL.GL.EXT.texture_compression_s3tc import *
    glInitTextureCompressionS3TcEXT()
except:
    print("Fail - OpenGL.GL.EXT.texture_compression_s3tc")
try:
    from OpenGL.GL.EXT.texture_cube_map import *
    glInitTextureCubeMapEXT()
except:
    print("Fail - OpenGL.GL.EXT.texture_cube_map")
try:
    from OpenGL.GL.EXT.texture_env_add import *
    glInitTextureEnvAddEXT()
except:
    print("Fail - OpenGL.GL.EXT.texture_env_add")
try:
    from OpenGL.GL.EXT.texture_env_combine import *
    glInitTextureEnvCombineEXT()
except:
    print("Fail - OpenGL.GL.EXT.texture_env_combine")
try:
    from OpenGL.GL.EXT.texture_env_dot3 import *
    glInitTextureEnvDot3EXT()
except:
    print("Fail - OpenGL.GL.EXT.texture_env_dot3")
try:
    from OpenGL.GL.EXT.texture_filter_anisotropic import *
    glInitTextureFilterAnisotropicEXT()
except:
    print("Fail - OpenGL.GL.EXT.texture_filter_anisotropic")
try:
    from OpenGL.GL.EXT.texture_integer import *
    glInitTextureIntegerEXT()
except:
    print("Fail - OpenGL.GL.EXT.texture_integer")
try:
    from OpenGL.GL.EXT.texture_lod_bias import *
    glInitTextureLodBiasEXT()
except:
    print("Fail - OpenGL.GL.EXT.texture_lod_bias")
try:
    from OpenGL.GL.EXT.texture_mirror_clamp import *
    glInitTextureMirrorClampEXT()
except:
    print("Fail - OpenGL.GL.EXT.texture_mirror_clamp")
try:
    from OpenGL.GL.EXT.texture_object import *
    glInitTextureObjectEXT()
except:
    print("Fail - OpenGL.GL.EXT.texture_object")
try:
    from OpenGL.GL.EXT.texture_sRGB import *
    glInitTextureSrgbEXT()
except:
    print("Fail - OpenGL.GL.EXT.texture_sRGB")
try:
    from OpenGL.GL.EXT.texture_sRGB_decode import *
    glInitTextureSrgbDecodeEXT()
except:
    print("Fail - OpenGL.GL.EXT.texture_sRGB_decode")
try:
    from OpenGL.GL.EXT.texture_shared_exponent import *
    glInitTextureSharedExponentEXT()
except:
    print("Fail - OpenGL.GL.EXT.texture_shared_exponent")
try:
    from OpenGL.GL.EXT.texture_swizzle import *
    glInitTextureSwizzleEXT()
except:
    print("Fail - OpenGL.GL.EXT.texture_swizzle")
try:
    from OpenGL.GL.EXT.timer_query import *
    glInitTimerQueryEXT()
except:
    print("Fail - OpenGL.GL.EXT.timer_query")
try:
    from OpenGL.GL.EXT.vertex_array import *
    glInitVertexArrayEXT()
except:
    print("Fail - OpenGL.GL.EXT.vertex_array")
try:
    from OpenGL.GL.EXT.vertex_array_bgra import *
    glInitVertexArrayBgraEXT()
except:
    print("Fail - OpenGL.GL.EXT.vertex_array_bgra")
try:
    from OpenGL.GL.EXT.x11_sync_object import *
    glInitX11SyncObjectEXT()
except:
    print("Fail - OpenGL.GL.EXT.x11_sync_object")
try:
    from OpenGL.GL.IBM.rasterpos_clip import *
    glInitRasterposClipIBM()
except:
    print("Fail - OpenGL.GL.IBM.rasterpos_clip")
try:
    from OpenGL.GL.IBM.texture_mirrored_repeat import *
    glInitTextureMirroredRepeatIBM()
except:
    print("Fail - OpenGL.GL.IBM.texture_mirrored_repeat")
try:
    from OpenGL.GL.KHR.debug import *
    glInitDebugKHR()
except:
    print("Fail - OpenGL.GL.KHR.debug")
try:
    from OpenGL.GL.NV.blend_square import *
    glInitBlendSquareNV()
except:
    print("Fail - OpenGL.GL.NV.blend_square")
try:
    from OpenGL.GL.NV.conditional_render import *
    glInitConditionalRenderNV()
except:
    print("Fail - OpenGL.GL.NV.conditional_render")
try:
    from OpenGL.GL.NV.copy_depth_to_color import *
    glInitCopyDepthToColorNV()
except:
    print("Fail - OpenGL.GL.NV.copy_depth_to_color")
try:
    from OpenGL.GL.NV.copy_image import *
    glInitCopyImageNV()
except:
    print("Fail - OpenGL.GL.NV.copy_image")
try:
    from OpenGL.GL.NV.depth_buffer_float import *
    glInitDepthBufferFloatNV()
except:
    print("Fail - OpenGL.GL.NV.depth_buffer_float")
try:
    from OpenGL.GL.NV.depth_clamp import *
    glInitDepthClampNV()
except:
    print("Fail - OpenGL.GL.NV.depth_clamp")
try:
    from OpenGL.GL.NV.explicit_multisample import *
    glInitExplicitMultisampleNV()
except:
    print("Fail - OpenGL.GL.NV.explicit_multisample")
try:
    from OpenGL.GL.NV.fence import *
    glInitFenceNV()
except:
    print("Fail - OpenGL.GL.NV.fence")
try:
    from OpenGL.GL.NV.float_buffer import *
    glInitFloatBufferNV()
except:
    print("Fail - OpenGL.GL.NV.float_buffer")
try:
    from OpenGL.GL.NV.fog_distance import *
    glInitFogDistanceNV()
except:
    print("Fail - OpenGL.GL.NV.fog_distance")
try:
    from OpenGL.GL.NV.fragment_program import *
    glInitFragmentProgramNV()
except:
    print("Fail - OpenGL.GL.NV.fragment_program")
try:
    from OpenGL.GL.NV.fragment_program2 import *
    glInitFragmentProgram2NV()
except:
    print("Fail - OpenGL.GL.NV.fragment_program2")
try:
    from OpenGL.GL.NV.fragment_program_option import *
    glInitFragmentProgramOptionNV()
except:
    print("Fail - OpenGL.GL.NV.fragment_program_option")
try:
    from OpenGL.GL.NV.framebuffer_multisample_coverage import *
    glInitFramebufferMultisampleCoverageNV()
except:
    print("Fail - OpenGL.GL.NV.framebuffer_multisample_coverage")
try:
    from OpenGL.GL.NV.geometry_shader4 import *
    glInitGeometryShader4NV()
except:
    print("Fail - OpenGL.GL.NV.geometry_shader4")
try:
    from OpenGL.GL.NV.gpu_program4 import *
    glInitGpuProgram4NV()
except:
    print("Fail - OpenGL.GL.NV.gpu_program4")
try:
    from OpenGL.GL.NV.half_float import *
    glInitHalfFloatNV()
except:
    print("Fail - OpenGL.GL.NV.half_float")
try:
    from OpenGL.GL.NV.light_max_exponent import *
    glInitLightMaxExponentNV()
except:
    print("Fail - OpenGL.GL.NV.light_max_exponent")
try:
    from OpenGL.GL.NV.multisample_coverage import *
    glInitMultisampleCoverageNV()
except:
    print("Fail - OpenGL.GL.NV.multisample_coverage")
try:
    from OpenGL.GL.NV.multisample_filter_hint import *
    glInitMultisampleFilterHintNV()
except:
    print("Fail - OpenGL.GL.NV.multisample_filter_hint")
try:
    from OpenGL.GL.NV.occlusion_query import *
    glInitOcclusionQueryNV()
except:
    print("Fail - OpenGL.GL.NV.occlusion_query")
try:
    from OpenGL.GL.NV.packed_depth_stencil import *
    glInitPackedDepthStencilNV()
except:
    print("Fail - OpenGL.GL.NV.packed_depth_stencil")
try:
    from OpenGL.GL.NV.parameter_buffer_object import *
    glInitParameterBufferObjectNV()
except:
    print("Fail - OpenGL.GL.NV.parameter_buffer_object")
try:
    from OpenGL.GL.NV.parameter_buffer_object2 import *
    glInitParameterBufferObject2NV()
except:
    print("Fail - OpenGL.GL.NV.parameter_buffer_object2")
try:
    from OpenGL.GL.NV.path_rendering import *
    glInitPathRenderingNV()
except:
    print("Fail - OpenGL.GL.NV.path_rendering")
try:
    from OpenGL.GL.NV.pixel_data_range import *
    glInitPixelDataRangeNV()
except:
    print("Fail - OpenGL.GL.NV.pixel_data_range")
try:
    from OpenGL.GL.NV.point_sprite import *
    glInitPointSpriteNV()
except:
    print("Fail - OpenGL.GL.NV.point_sprite")
try:
    from OpenGL.GL.NV.primitive_restart import *
    glInitPrimitiveRestartNV()
except:
    print("Fail - OpenGL.GL.NV.primitive_restart")
try:
    from OpenGL.GL.NV.register_combiners import *
    glInitRegisterCombinersNV()
except:
    print("Fail - OpenGL.GL.NV.register_combiners")
try:
    from OpenGL.GL.NV.register_combiners2 import *
    glInitRegisterCombiners2NV()
except:
    print("Fail - OpenGL.GL.NV.register_combiners2")
try:
    from OpenGL.GL.NV.shader_buffer_load import *
    glInitShaderBufferLoadNV()
except:
    print("Fail - OpenGL.GL.NV.shader_buffer_load")
try:
    from OpenGL.GL.NV.texgen_reflection import *
    glInitTexgenReflectionNV()
except:
    print("Fail - OpenGL.GL.NV.texgen_reflection")
try:
    from OpenGL.GL.NV.texture_barrier import *
    glInitTextureBarrierNV()
except:
    print("Fail - OpenGL.GL.NV.texture_barrier")
try:
    from OpenGL.GL.NV.texture_compression_vtc import *
    glInitTextureCompressionVtcNV()
except:
    print("Fail - OpenGL.GL.NV.texture_compression_vtc")
try:
    from OpenGL.GL.NV.texture_env_combine4 import *
    glInitTextureEnvCombine4NV()
except:
    print("Fail - OpenGL.GL.NV.texture_env_combine4")
try:
    from OpenGL.GL.NV.texture_expand_normal import *
    glInitTextureExpandNormalNV()
except:
    print("Fail - OpenGL.GL.NV.texture_expand_normal")
try:
    from OpenGL.GL.NV.texture_multisample import *
    glInitTextureMultisampleNV()
except:
    print("Fail - OpenGL.GL.NV.texture_multisample")
try:
    from OpenGL.GL.NV.texture_rectangle import *
    glInitTextureRectangleNV()
except:
    print("Fail - OpenGL.GL.NV.texture_rectangle")
try:
    from OpenGL.GL.NV.texture_shader import *
    glInitTextureShaderNV()
except:
    print("Fail - OpenGL.GL.NV.texture_shader")
try:
    from OpenGL.GL.NV.texture_shader2 import *
    glInitTextureShader2NV()
except:
    print("Fail - OpenGL.GL.NV.texture_shader2")
try:
    from OpenGL.GL.NV.texture_shader3 import *
    glInitTextureShader3NV()
except:
    print("Fail - OpenGL.GL.NV.texture_shader3")
try:
    from OpenGL.GL.NV.transform_feedback import *
    glInitTransformFeedbackNV()
except:
    print("Fail - OpenGL.GL.NV.transform_feedback")
try:
    from OpenGL.GL.NV.vdpau_interop import *
    glInitVdpauInteropNV()
except:
    print("Fail - OpenGL.GL.NV.vdpau_interop")
try:
    from OpenGL.GL.NV.vertex_array_range import *
    glInitVertexArrayRangeNV()
except:
    print("Fail - OpenGL.GL.NV.vertex_array_range")
try:
    from OpenGL.GL.NV.vertex_array_range2 import *
    glInitVertexArrayRange2NV()
except:
    print("Fail - OpenGL.GL.NV.vertex_array_range2")
try:
    from OpenGL.GL.NV.vertex_buffer_unified_memory import *
    glInitVertexBufferUnifiedMemoryNV()
except:
    print("Fail - OpenGL.GL.NV.vertex_buffer_unified_memory")
try:
    from OpenGL.GL.NV.vertex_program import *
    glInitVertexProgramNV()
except:
    print("Fail - OpenGL.GL.NV.vertex_program")
try:
    from OpenGL.GL.NV.vertex_program1_1 import *
    glInitVertexProgram11NV()
except:
    print("Fail - OpenGL.GL.NV.vertex_program1_1")
try:
    from OpenGL.GL.NV.vertex_program2 import *
    glInitVertexProgram2NV()
except:
    print("Fail - OpenGL.GL.NV.vertex_program2")
try:
    from OpenGL.GL.NV.vertex_program2_option import *
    glInitVertexProgram2OptionNV()
except:
    print("Fail - OpenGL.GL.NV.vertex_program2_option")
try:
    from OpenGL.GL.NV.vertex_program3 import *
    glInitVertexProgram3NV()
except:
    print("Fail - OpenGL.GL.NV.vertex_program3")
try:
    from OpenGL.GL.NVX.conditional_render import *
    glInitConditionalRenderNVX()
except:
    print("Fail - OpenGL.GL.NVX.conditional_render")
try:
    from OpenGL.GL.NVX.gpu_memory_info import *
    glInitGpuMemoryInfoNVX()
except:
    print("Fail - OpenGL.GL.NVX.gpu_memory_info")
try:
    from OpenGL.GL.S3.s3tc import *
    glInitS3TcS3()
except:
    print("Fail - OpenGL.GL.S3.s3tc")
try:
    from OpenGL.GL.SGIS.generate_mipmap import *
    glInitGenerateMipmapSGIS()
except:
    print("Fail - OpenGL.GL.SGIS.generate_mipmap")
try:
    from OpenGL.GL.SGIS.texture_lod import *
    glInitTextureLodSGIS()
except:
    print("Fail - OpenGL.GL.SGIS.texture_lod")
try:
    from OpenGL.GL.SGIX.depth_texture import *
    glInitDepthTextureSGIX()
except:
    print("Fail - OpenGL.GL.SGIX.depth_texture")
try:
    from OpenGL.GL.SGIX.shadow import *
    glInitShadowSGIX()
except:
    print("Fail - OpenGL.GL.SGIX.shadow")
try:
    from OpenGL.GL.SUN.slice_accum import *
    glInitSliceAccumSUN()
except:
    print("Fail - OpenGL.GL.SUN.slice_accum")


def gl_ext_import_list():
    ext_list = []
    gl_extensions = glGetString(GL_EXTENSIONS)
    if type(gl_extensions) is bytes: gl_extensions = gl_extensions.decode('UTF-8').split()
    else: gl_extensions = gl_extensions.split()
    for extension in gl_extensions:
        # {
        exts = extension.split('_', 2)
        if len(exts) < 3: continue
        # extension_module_name = "OpenGL.GL.ARB.%s" % exts[2]
        extension_module_name = "OpenGL.%s.%s.%s" % (exts[0], exts[1], exts[2])

        try:
            __import__(extension_module_name)
            ext_list.append(extension_module_name)
        except ImportError:
            continue
        # }
    return ext_list


def gl_ext_support(extension):
    """ Accesses the rendering context to see if it supports an extension.
        Note, that this test only tells you if the OpenGL library supports
        the extension. The PyOpenGL system might not actually support the extension.
    """
    gl_extensions = glGetString(GL_EXTENSIONS)
    if type(gl_extensions) is bytes: gl_extensions = gl_extensions.decode('UTF-8').split()
    else: gl_extensions = gl_extensions.split()

    if extension in gl_extensions:
        print('OpenGL Extension Support : %s' % extension)
    else:
        print("OpenGL Extension Not Support : '%s'" % extension)
        return False

    # Now determine if Python supports the extension
    # Exentsion names are in the form GL_<group>_<extension_name>
    # e.g.  GL_EXT_fog_coord
    # Python divides extension into modules
    exts = extension.split('_', 2)
    if len(exts) < 3: return False
    extension_module_name = "OpenGL.GL.ARB.%s" % exts[2]

    try:
        __import__(extension_module_name)
        print("PyOpenGL supports '%s' <%s>" % (extension, extension_module_name))
    except ImportError:
        print("PyOpenGL failed to import '%s' <%s>" % (extension, extension_module_name))
        return False

    return True
